From a7cad7909261094b46de548033983bf2fd3f7619 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sat, 18 Apr 2020 21:10:32 -0400 Subject: [PATCH] css: Allow transitioning between different units again This turns out to be necessary for transitioning filters, and we run into criticals if transitioning numbers unexpectedly returns NULL. I've observed that with * { filter: invert(80%); } This was broken in c9e972eecb3a78ea. --- gtk/gtkcssdimensionvalue.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gtk/gtkcssdimensionvalue.c b/gtk/gtkcssdimensionvalue.c index 7c918d6da1..10effe22d7 100644 --- a/gtk/gtkcssdimensionvalue.c +++ b/gtk/gtkcssdimensionvalue.c @@ -248,10 +248,10 @@ gtk_css_value_dimension_transition (GtkCssValue *start, guint property_id, double progress) { - if (start->unit != end->unit) - return NULL; + if (start->unit == end->unit) + return gtk_css_dimension_value_new (start->value + (end->value - start->value) * progress, start->unit); - return gtk_css_dimension_value_new (start->value + (end->value - start->value) * progress, start->unit); + return gtk_css_number_value_transition (start, end, property_id, progress); } static const GtkCssNumberValueClass GTK_CSS_VALUE_DIMENSION = { -- 2.30.2